O5656(DIAMOND PIN MACRO)
(PIN AT 0 DEGREES IS VERTICAL)
(ABSOLUTE MACRO) 
(UNPROVEN) 
 
(FORMAT G65/G66 ABDTMWREFS)
(A = #1 - INCLUDED ANGLE OF PIN)
(60 DEGREES IS COMMON)
(B = #2 - G68 ROTATION FROM 0 DEGREES)
(D = #7 - DIAMETER OF PIN)
(T = #20 - TOOL DIAMETER)
(M = #13 - MATERIAL SIZE)
(SQUARE OR ROUND)
(W = #23 - WIDTH OF PIN CONTACT) 
(R = #18 - R PLANE)
(E = #8 - END OF EM IN Z)
(F = #9 - FEEDRATE)
(S = #19 - # OF SPRING PASSES)
(*********************************)

(LIMIT SPRING PASSES TO 3.)
IF[#19GT3.]THEN#19=3.
(STORE CURRENT XY POSTION)
#100=#5001
#101=#5002
(CALCULATE TANGENT POSITIONS)
(BASED ON ARGUMENT -A-)
(-X-/-I-)
#102=[#23/2.]+[COS[#1/2.]*[#20/2.]]
(-Y-/-J-)
#123=ASIN[#23/2.]/[#7/2.]
#103=[COS[#123]*[#7/2.]]+[SIN[#1/2.]*[#20/2.]]
(CALCULATE FIRST POSITION -X-)
#105=#102+[TAN[#1/2.]*[#103]]
(CALCULATE MATERIAL CLEARANCE)
#106=[#13/2.]+[#20/2.]+.1
(STORE EACH LOCATION)
#110=#100-#106
#111=#101
#112=#100-#105
#113=#100-#102
#114=#101+#103
#115=#100+#102
#116=#101+#103
#117=#100+#105
#118=#101
#119=#100+#102
#120=#101-#103
#121=#100-#102
#122=#101-#103
(SET SPRING PASS COUNTER)
#149=#19
(SET ROTATION)
#530=#2
IF[#2GT180.]THEN#530=#2-360.
G68R#530
(GOTO 1ST POSTION)
G0G90X#110Y#111
Z[#8+.1]
G1Z#8F#9
G41X#112
WHILE[#149GE0]DO1
IF[#149LT0]GOTO10
#149=#149-1. 
G1X#113Y#114
G02X#115Y#116I#102J-[#103]
G1X#117Y#118
X#119Y#120
G02X#121Y#122I-[#102]J#103
G1X#112Y#111
END1 
N10G1G40G90X#110
G0Z#18
G69
X#100Y#101 
M99
